home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / comm / irc / epic4-mos.lha / share / epic / script / less < prev    next >
Text File  |  2002-09-18  |  949b  |  50 lines

  1. #
  2. # A file pager.  A demonstration of how to do something useful in ircII.
  3. # This cheesy rip-off was written by hop in 1996.
  4. # My apologies in advance to archon.
  5. # Modified on Jan 25, 1999 as an example of how to use arglists.
  6. #
  7.  
  8. alias less (file default "-help")
  9. {
  10.     @ winnum = winnum()
  11.     if (file == [-help]) {
  12.         xecho -w $winnum Usage: /less <filename>
  13.     } elsif (fexist($file) == 1) {
  14.         less_file $open($file R) ${winsize() - 1} $winnum
  15.     } else {
  16.         xecho -w $winnum $file\: no such file.
  17.     }
  18. }
  19.  
  20.  
  21. alias less_file (file, count, winnum default 0, void)
  22. {
  23.     ^local line 0
  24.     ^local ugh
  25.  
  26.     while (!eof($file) && (line++ < count))
  27.     {
  28.         @ ugh = read($file)
  29.         if (!eof($file)) {
  30.             xecho -w $winnum $ugh
  31.         }
  32.     }
  33.  
  34.     if (!eof($file))
  35.     {
  36.         @ less.fd = file
  37.         @ less.nl = count
  38.         @ less.w  = winnum
  39.         input_char "Enter q to quit, or anything else to continue "
  40.         {
  41.             if ([$0] != [q]) {less_file $less.fd $less.nl $less.w}
  42.         }
  43.     }
  44.     {
  45.         @ close($file)
  46.     }
  47. }
  48.  
  49. #hop'96,99
  50.